草庐IT

Java Swing:扩展 TreeNode

全部标签

c# - 在 System.IO.Directory.GetFiles() 中排除文件扩展名

有没有办法获取文件夹中的文件数,但我想排除扩展名为jpg的文件?Directory.GetFiles("c:\\Temp\\").Count(); 最佳答案 试试这个:varcount=System.IO.Directory.GetFiles(@"c:\\Temp\\").Count(p=>Path.GetExtension(p)!=".jpg");祝你好运! 关于c#-在System.IO.Directory.GetFiles()中排除文件扩展名,我们在StackOverflow上找到

c# - 扩展方法如何连接

我只是想知道扩展方法是如何连接到原始类的。我知道在IL代码中它调用了静态方法,但它是如何调用的以及为什么它不破坏封装。 最佳答案 他们不“Hook”。VisaulStudioIDE只是通过在intellisense列表中显示它们来让它看起来像它。编译器“知道”如何处理引用,以便使用正确的参数进行正确的方法调用。这就是syntacticsugar-这些方法只是单独静态类上的静态方法。使用this修饰符让编译器“知道”添加ExtensionAttribute到类以将其标记为扩展方法。由于扩展方法实际上不更改类并且只能访问其上的公共(pu

c# - 使用 LINQ 和 LINQ 扩展计算字典中的值

我有一本看起来像这样的字典:Dictionary>test1:1,3,4,5test2:2,3,6,7test3:2,8如何使用LINQ和LINQ扩展获取所有值的计数? 最佳答案 假设您有:Dictionary>dict=...如果你想要列表的数量,很简单:intresult=dict.Count;如果你想要所有列表中所有字符串的总数:intresult=dict.Values.Sum(list=>list.Count);如果您想要计算所有列表中所有不同字符串的数量:intresult=dict.Values.SelectMany(

c# - 扩展基于 C# 文件的资源管理器

我想以与NET的.resources(特别是.po)不同的文件格式存储我的资源,所以我编写了一个自定义资源集和一个自定义资源读取器来检索它们。我使用CreateFileBasedResourceManager静态方法创建了一个ResourceManager,它创建了一个管理器的新实例,该实例使用指定的资源集(我在我的案例中编写的自定义资源集),使用Name.culture.resources从特定目录中的文件中检索资源集文件名。但是,我想更改文件名约定。我注意到有一个可覆盖的GetResourceFileName方法正是为了这个目的。但是使用反射器我注意到CreateFileBased

c# - 在 Visual Studio 2010 中使用扩展对象调试 XSLT

我目前正在从事一个涉及大量XSLT转换的项目,我真的需要一个调试器(我有1000多行长的XSLT,但我没有编写它们:-).该项目是用C#编写的,并使用了扩展对象:xslArg.AddExtensionObject("urn:",new());据我所知,在这种情况下,VisualStudio是唯一可以帮助我逐步调试转换的工具。由于扩展对象,静态调试器没有用(当它到达引用其namespace的元素时会抛出错误)。幸运的是,我找到了thisthread这给了我一个起点(至少我知道这是可以做到的)。在搜索MSDN之后,我找到了使进入转换成为可能的条件。它们被列为here.简而言之:XML和XS

c# - 接口(interface)的扩展方法是否被视为比不太具体的方法优先级低?

我有以下扩展类:publicstaticclassMatcherExtensions{publicstaticExecMatcherMatch(thisTupleitem){returnnewExecMatcher(item.Item1,item.Item2);}publicstaticExecMatcherMatch(thisITupleMatchableitem){vartuple=item.PropertiesToMatch;returnnewExecMatcher(tuple.Item1,tuple.Item2);}publicstaticExecMatcherMatch(th

c# - 使用派生类型调用扩展方法重载

简化后,我有这2个Extension方法:publicstaticclassExtensions{publicstaticstringGetString(thisExceptione){return"Standard!!!";}publicstaticstringGetString(thisTimeoutExceptione){return"TimeOut!!!";}}这是我使用它们的地方:try{thrownewTimeoutException();}catch(Exceptione){Typet=e.GetType();//AtdebuggingthisaTimeoutExcept

c# - 如何为多个 Visual Studio 版本打包基于 VSIX 的扩展?

我正在维护一个公司内部VisualStudio扩展,它被打包并部署为VSIX容器。此扩展当前针对VS2010。它使用多个VSAPIDLL并引用它们的VS2010版本。我目前正在迁移此扩展以与VS2012/2013兼容。我已经发现可以手动编辑旧的VSIXlist,以允许扩展额外安装到VS2012/2013-这非常有效。但是,我目前使用的一些VS2010API与VS2012++不兼容,我需要更新它们——放弃向后兼容性。我的问题是:我应该如何构建我的解决方案和VSIX,以便它与VS2010、2012和2013兼容。有一个针对VS2010的DLL和一个针对VS2012/2013的DLL是否可行

c# - Visual Studio 2015 扩展方法调用作为方法组

我有一个类似的扩展方法publicstaticvoidRemoveDetail(thisTMastermaster,TChildchild)whereTMaster:class,IMasterwhereTChild:class,IDetail;我有两个类(class)publicclassPrincipal:IMaster{publicvirtualIEnumerablePermissions{get;}}和publicclassPermission:IDetail我从方法publicstaticvoidForeach(thisIEnumerablesource,Actionactio

c# - 有没有一种扩展代码优先迁移的好方法

我正在开始一个使用EntityFramework的新项目。我研究了有关如何创建数据库的选项,发现代码优先迁移最有意义(如果您需要知道原因,请参阅底部)。Code-First迁移让我可以使用任意SQL,这意味着我仍然可以完全控制。在实践中,我发现问题在于,对于某些常见任务,使用SQL似乎是非常重复的。出于我的目的,我不关心迁移中的扩展是否与提供者无关(我内联的SQL不是)。但是,我并没有真正在迁移框架中找到一个好的接缝或扩展点来添加这些东西。举个具体的例子,假设我想为MS-SQL复制指定一个RowGuid列。每次出现的形式都是Sql(string.Format("AlterTable{0